New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] Created new conda module for managing conda packages #40455
Conversation
The test
The test
|
ready_for_review |
194fff4
to
a8eaaef
Compare
The test
|
Added integration tests Lint errors Skip freebsd integration tests, enable osx
a8eaaef
to
f8e30f7
Compare
ready_for_review |
Have you written this module from scratch or is this code from another project, which has already been tried and tested? You posted a comment on UDST/ansible-conda, indicating you were aware of that codebase but this code seems to be entirely different. We use UDST/ansible-conda in our production setups but that was only possible after fixing it to work with a lot of oddities of the As it stands, I do not fully support this PR. However, I do think it would be good for there to be core support for Conda so I endorse the effort. |
Hi @colin-nolan, Firstly happy to add more tests. This module has been developed internally at my work and now wishing to contribute upstream. We have tried and tested this module in our environments but of course welcome others testing too. I was only aware of the UDST code base after this PR was raised, and noticed that there is an open tick on UDST to contribute upstream, but the PR to was ultimately closed as permission to re-licence/redistribute had not been obtained/verified. And nearly wished to convey to any interested parties watching the issue this attempt was in the works. Re: testing parity between UDST and this - I note that there are API differences. In particular this module allows installing, updating, removing multiple packages in one transaction. This was particularly important for us as installing packages over a loop, caused problems with dependency resolution where versions of packages were changed multiple times and not to the one intended (and much slower as multiple versions of the same package were downloaded and re-installed). As we pass in a list of packages, we hence don't have a In regards to your concerns around the oddities of the |
I will be happy to try this out in our environment and give feedback. Curious to see if the setup will still run if we rerun the playbook. From what I understood, Ansible will not modify the system if its not required. |
Read through the whole PR top to bottom on my computer. On my phone now though, so we’ll see how far this goes. Probably just a first round of comments. These specifically pertaining to the API the module presents.
Ok those are initial drive-by thoughts. I’ll have more I’m sure when I can revisit this back on a proper computer screen. |
The test
|
|
||
- name: get miniconda3 installation script | ||
get_url: | ||
url: "https://repo.continuum.io/miniconda/Miniconda3-{{ conda_bootstrap.version }}-{{ conda_variant }}-x86_64.sh" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
s/repo.continuum.io/repo.anaconda.com :-)
Wonder if I'm missing something here; how do you install a package into a specific environment with this module? (Also ensuring that environment gets created if it didn't exist in the first place) E.g., production box has two different conda environments that you want to maintain alongside. |
Sorry to bother you, conda 4.6 released. Any chance of upstreaming this module? |
@tmoschou still working on this? I did a quick test.
My opinion is that this module should focus on supporting recent versions of conda (>= 4.5). I can look at the first point if you want. |
Last Shippable Run was Sep 14th, 2018. |
please resolve conflicts |
Apologies that this PR has been left in limbo. I have changed jobs and roles since opening this PR and the centre that initially supported maintaining this module has wound up. Regrettably I currently do not use Ansible or Conda as much as I used to. I have closed this PR as I feel it best for the community to either fork this module or continue any other efforts that may be in the works. |
An alternative for this is using this role: https://github.com/dockpack/base_miniconda |
SUMMARY
Created new conda module for managing conda packages.
ISSUE TYPE
COMPONENT NAME
conda
ANSIBLE VERSION
ADDITIONAL INFORMATION
From https://conda.io/
Module allows you to install, update or remove multiple packages in one transaction.
It is basically a wrapper around the conda command line utility. The command line utility supports writing output in machine readable json and supports a dry-run mode making implementing an ansible module wrapper relatively simple.